import type { RouteRecordRaw } from 'vue-router';

import { $t } from '#/locales';

const routes: RouteRecordRaw[] = [
  {
    meta: {
      icon: 'ant-design:table-outlined',
      order: -1,
      title: $t('page.report.title'),
      keepAlive: true,
    },
    name: 'Report',
    path: '/report',
    children: [
      {
        name: 'SupplierSalesSummery',
        path: '/report/supplierSalesSummery',
        component: () =>
          import('#/views/report/supplierSalesSummery/index.vue'),
        meta: {
          affixTab: true,
          icon: 'ant-design:bar-chart-outlined',
          title: $t('page.report.supplierSalesSummery'),
          keepAlive: true,
        },
      },
      {
        name: 'ChannelSalesSummery',
        path: '/report/channelSalesSummery',
        component: () => import('#/views/report/channelSalesSummery/index.vue'),
        meta: {
          affixTab: true,
          icon: 'ant-design:area-chart-outlined',
          keepAlive: true,
          title: $t('page.report.channelSalesSummery'),
        },
      },
      {
        name: 'SupplierStockList',
        path: '/report/supplierStockList',
        component: () => import('#/views/report/supplierStockList/index.vue'),
        meta: {
          affixTab: true,
          icon: 'ant-design:appstore-outlined',
          keepAlive: true,
          title: $t('page.report.supplierStockList'),
        },
      },
      {
        name: 'StoreStockList',
        path: '/report/storeStockList',
        component: () => import('#/views/report/storeStockList/index.vue'),
        meta: {
          affixTab: true,
          icon: 'ant-design:api-filled',
          keepAlive: true,
          title: '仓库库存列表',
        },
      },
      {
        name: 'SupplierSalesDetail',
        path: '/report/supplierSalesDetail',
        component: () => import('#/views/report/supplierSalesDetail/index.vue'),
        meta: {
          affixTab: true,
          icon: 'ant-design:merge-filled',
          title: $t('page.report.supplierSalesDetail'),
          hideInMenu: true, // 用于配置页面是否在菜单中隐藏，隐藏后页面不会在菜单中显示。
          hideInBreadcrumb: true, // 用于配置页面是否在面包屑中隐藏，隐藏后页面不会在面包屑中显示。
          hideInTab: true, // 用于配置页面是否在标签页中隐藏，隐藏后页面不会在标签页中显示。
          hideChildrenInMenu: true, // 用于配置页面的子页面是否在菜单中隐藏，隐藏后子页面不会在菜单中显示。
        },
      },
      {
        name: 'ChannelSalesDetail',
        path: '/report/channelSalesDetail',
        component: () => import('#/views/report/channelSalesDetail/index.vue'),
        meta: {
          affixTab: true,
          icon: 'ant-design:merge-filled',
          title: $t('page.report.channelSalesDetail'),
          hideInMenu: true, // 用于配置页面是否在菜单中隐藏，隐藏后页面不会在菜单中显示。
          hideInBreadcrumb: true, // 用于配置页面是否在面包屑中隐藏，隐藏后页面不会在面包屑中显示。
          hideInTab: true, // 用于配置页面是否在标签页中隐藏，隐藏后页面不会在标签页中显示。
          hideChildrenInMenu: true, // 用于配置页面的子页面是否在菜单中隐藏，隐藏后子页面不会在菜单中显示。
          keepAlive: true,
        },
      },
      {
        name: 'SupplierStockDetail',
        path: '/report/supplierStockDetail',
        component: () => import('#/views/report/supplierStockDetail/index.vue'),
        meta: {
          affixTab: true,
          icon: 'ant-design:merge-filled',
          title: $t('page.report.supplierStockDetail'),
          hideInMenu: true, // 用于配置页面是否在菜单中隐藏，隐藏后页面不会在菜单中显示。
          hideInBreadcrumb: true, // 用于配置页面是否在面包屑中隐藏，隐藏后页面不会在面包屑中显示。
          hideInTab: true, // 用于配置页面是否在标签页中隐藏，隐藏后页面不会在标签页中显示。
          hideChildrenInMenu: true, // 用于配置页面的子页面是否在菜单中隐藏，隐藏后子页面不会在菜单中显示。
          keepAlive: true,
        },
      },
      {
        name: 'StoreStockDetail',
        path: '/report/storeStockDetail',
        component: () => import('#/views/report/storeStockDetail/index.vue'),
        meta: {
          affixTab: true,
          icon: 'ant-design:merge-filled',
          title: $t('page.report.storeStockDetail'),
          hideInMenu: true, // 用于配置页面是否在菜单中隐藏，隐藏后页面不会在菜单中显示。
          hideInBreadcrumb: true, // 用于配置页面是否在面包屑中隐藏，隐藏后页面不会在面包屑中显示。
          hideInTab: true, // 用于配置页面是否在标签页中隐藏，隐藏后页面不会在标签页中显示。
          hideChildrenInMenu: true, // 用于配置页面的子页面是否在菜单中隐藏，隐藏后子页面不会在菜单中显示。
          keepAlive: true,
        },
      },
    ],
  },
];

export default routes;
